#include "drv_key.h"
#include "drv_systick.h"
/**************************************
函数名：drv_key_init
函数功能：对按键引脚进行初始化
输入参数：无
输出参数：无
其它：//user -》pf9 低电平亮代表按下
****************************************/
void drv_key_init(void)
{
	GPIO_InitTypeDef GPIO_InitStruct;
	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);//开时钟
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN;//输入
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9;
	GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
	GPIO_Init(GPIOF, &GPIO_InitStruct);
}
/**************************************
函数名：drv_get_key
函数功能：获取按键状态
输入参数：无
输出参数：返回按键的状态
其它：//user -》pf9 低电平亮代表按下
****************************************/
uint8_t drv_get_key(void)
{
	uint8_t ret =0;
	if(GPIO_ReadInputDataBit(GPIOF, GPIO_Pin_9) == RESET)//判断按键是否按下
	{
		drv_systick_ms(20);//消除抖动
		if(GPIO_ReadInputDataBit(GPIOF, GPIO_Pin_9) == RESET)//再次判断按键是否按下
		{
			while(GPIO_ReadInputDataBit(GPIOF, GPIO_Pin_9) == RESET);//等待按键抬起
			ret = 1;
		}
	}
	return ret;
}
